package com.zjsru.oneDay202204;

/**
 * @Author: likew
 * @Date: 2022/4/21
 *
 * 山羊拉丁文
 *
 * 如果单词以元音开头（'a', 'e', 'i', 'o', 'u'），在单词后添加"ma"。
 * 例如，单词 "apple" 变为 "applema" 。
 * 如果单词以辅音字母开头（即，非元音字母），移除第一个字符并将它放到末尾，之后再添加"ma"。
 * 例如，单词 "goat" 变为 "oatgma" 。
 * 根据单词在句子中的索引，在单词最后添加与索引相同数量的字母'a'，索引从 1 开始。
 * 例如，在第一个单词后添加 "a" ，在第二个单词后添加 "aa" ，以此类推。
 *
 * 输入：sentence = "I speak Goat Latin"
 * 输出："Imaa peaksmaaa oatGmaaaa atinLmaaaaa"
 */
public class toGoatLatin {
    public String toGoatLatin(String sentence) {
        int n = sentence.length();
        String last = "a";
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < n;) {
            int j = i;
            while(j < n && sentence.charAt(j) != ' ') j++;
            if("AEUIOaeiou".indexOf(sentence.charAt(i)) >= 0){
                sb.append(sentence.substring(i,j)).append("ma");
            }else {
                sb.append(sentence.substring(i + 1,j)).append(sentence.charAt(i)).append("ma");
            }
            sb.append(last);
            last += "a";
            i = j +1;
            if(i < n) sb.append(" ");
        }
        return sb.toString();
    }
    
    public static void main(String[] args) {
        toGoatLatin toGoatLatin = new toGoatLatin();
        String sentence = "I speak Goat Latin";
        System.out.println(toGoatLatin.toGoatLatin(sentence));
    }
}
